#pragma once
#include "CommonColor.generated.h"

UENUM(BlueprintType)
enum class EColorType : uint8
{
	EL_Transparent=0,
	EL_Black,
	EL_White,
	EL_BG,

	EL_Primary_Normal=10,
	EL_Primary_Dark,
	EL_Primary_Disable,
	EL_Primary_Light,
	
	EL_Success_Normal=20,
	EL_Success_Dark,
	EL_Success_Disable,
	EL_Success_Light,

	EL_Warning_Normal=30,
	EL_Warning_Dark,
	EL_Warning_Disable,
	EL_Warning_Light,

	EL_Error_Normal=40,
	EL_Error_Dark,
	EL_Error_Disable,
	EL_Error_Light,

	EL_Info_Normal=50,
	EL_Info_Dark,
	EL_Info_Disable,
	EL_Info_Light,

	EL_Word_Main=60,
	EL_Word_Routine,
	EL_Word_Secondary,
	EL_Word_Placeholder,

	EL_Border_First=70,
	EL_Border_Second,
	EL_Border_Third,
	EL_Border_Fourth
};


UCLASS()
class ELEMENTUISLATE_API UELColorUtil : public UBlueprintFunctionLibrary
{
	GENERATED_BODY()
	
public:
	UFUNCTION(BlueprintCallable, BlueprintPure)
	static FString GetHexColorByType(EColorType ColorType);
	
	UFUNCTION(BlueprintCallable, BlueprintPure)
	static FColor GetColorByType(EColorType ColorType);

	UFUNCTION(BlueprintCallable, BlueprintPure)
	static FLinearColor GetLinearColorByType(EColorType ColorType);
};
